package com.example.docmanagement.dto.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 角色响应 DTO
 */
@Data
@Builder
@Schema(description = "角色响应数据")
public class RoleResponse {

    @Schema(description = "角色ID")
    private Long id;

    @Schema(description = "角色名称")
    private String name;

    @Schema(description = "角色显示名称")
    private String displayName;

    @Schema(description = "角色描述")
    private String description;

    @Schema(description = "是否系统角色")
    private Boolean systemRole;

    @Schema(description = "排序值")
    private Integer sortOrder;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;

    @Schema(description = "权限ID列表")
    private List<Long> permissionIds;

    @Schema(description = "权限详细信息")
    private List<PermissionResponse> permissions;
}


